import os
import pandas as pd

# 获取项目根目录（sports_hub文件夹的父目录）
PROJECT_ROOT = os.path.abspath(os.path.join(os.path.dirname(__file__), '../..'))
# 构建用户数据文件的绝对路径
USER_DATA_FILE = os.path.join(PROJECT_ROOT, 'sports_hub\data', 'users.csv')

def save_user_to_csv(user_data):
    """
    将用户数据保存到 CSV 文件中，如果文件不存在则创建
    """
    print("项目根目录：", PROJECT_ROOT)  # 调试信息
    print("数据文件所在位置：", USER_DATA_FILE)  # 调试信息
    data_dir = os.path.dirname(USER_DATA_FILE)
    # 确保目录存在
    os.makedirs(data_dir, exist_ok=True)
    print(f"保存用户数据到: {USER_DATA_FILE}")  # 调试信息
    # 初始化列名
    columns = ['username', 'password', 'name', 'role', 'birthday', 
               'gender', 'email', 'phone', 'account']
    
    if os.path.exists(USER_DATA_FILE):
        df = pd.read_csv(USER_DATA_FILE)
        # 确保列名一致
        df = df.reindex(columns=columns, fill_value=None)
    else:
        df = pd.DataFrame(columns=columns)
    
    # 添加新用户数据
    new_df = pd.DataFrame([user_data])
    print(f"准备保存用户数据: {new_df}")  # 调试信息
    df = pd.concat([df, new_df], ignore_index=True)
    df.to_csv(USER_DATA_FILE, index=False)
    return True